# 代码编写者： 李朔
# 开发时间： 2021/7/26 12:37
people=[[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]

def insert_list(l,e,pos):
    l_len=len(l)
    if pos==l_len:
        #在尾部插入元素
        l.append(e)
    else:
        #不是在尾部插入元素
        l.append(0)
        i=l_len-1
        while i>=pos:
            l[i+1]=l[i]
            i-=1
        l[pos]=e
def reconstructQueue(people):
    #先按照身高大小排序
    people.sort(key=lambda x:x[0],reverse=True)
    print(people)
    #后按照ki值排序
    people.sort(key=lambda x:x[1])
    print(people)
    queue,i=[people[0]],1
    while i<len(people):
        print("第几轮：",i)
        ki=people[i][1]
        for j in range(len(queue)+1):
            if ki>0:
                if queue[j][0]>=people[i][0]:
                    ki-=1
                else:
                    continue
            else:
                print("插入位置：",j,"待插入元素：",people[i])
                insert_list(queue,people[i],j)
                print("列表queue:",queue)
                break
        i+=1
    return queue

print(reconstructQueue(people))